//+------------------------------------------------------------------+ //| Pivot.mq4 | //| Copyright © 2004, Poul_Trade_Forum | //| Aborigen | //| http://forex.kbpauk.ru/ | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Pivot SR-mod.mq4 | //| by Ibrahim | //| http://winning-solution.com/?id=baim78 | //+------------------------------------------------------------------+ #property copyright "Pivot SR by Aborigen, -mod by Ibrahim" #property link "http://forex.kbpauk.ru/" #property link "http://winning-solution.com/?id=baim78" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Tomato #property indicator_color2 Tomato #property indicator_color3 Tomato #property indicator_color4 Lime #property indicator_color5 SkyBlue #property indicator_color6 SkyBlue #property indicator_color7 SkyBlue //---- input parameters extern bool NormalizeDigits = false; //---- buffers double PBuffer[]; double S1Buffer[]; double R1Buffer[]; double S2Buffer[]; double R2Buffer[]; double S3Buffer[]; double R3Buffer[]; int fontsize=10; double P,R1,S1,R2,S2,R3,S3; double LastHigh,LastLow,x; //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- TODO: add your code here ObjectDelete("Pivot"); ObjectDelete("R1"); ObjectDelete("S1"); //ObjectDelete(""); //ObjectDelete(""); //ObjectDelete(""); //ObjectDelete(""); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- indicator line SetIndexArrow(0, 119); SetIndexArrow(1, 119); SetIndexArrow(2, 119); SetIndexArrow(3, 119); SetIndexArrow(4, 119); SetIndexArrow(5, 119); SetIndexArrow(6, 119); SetIndexStyle(0,DRAW_ARROW,STYLE_DOT); SetIndexStyle(1,DRAW_ARROW,STYLE_DOT); SetIndexStyle(2,DRAW_ARROW,STYLE_DOT); SetIndexStyle(3,DRAW_ARROW,STYLE_DOT); SetIndexStyle(4,DRAW_ARROW,STYLE_DOT); SetIndexStyle(5,DRAW_ARROW,STYLE_DOT); SetIndexStyle(6,DRAW_ARROW,STYLE_DOT); SetIndexBuffer(0,R3Buffer); SetIndexBuffer(1,R2Buffer); SetIndexBuffer(2,R1Buffer); SetIndexBuffer(3,PBuffer); SetIndexBuffer(4,S1Buffer); SetIndexBuffer(5,S2Buffer); SetIndexBuffer(6,S3Buffer); //---- name for DataWindow and indicator subwindow label IndicatorShortName("Pivot SR-mod"); SetIndexLabel(0,"Previous Bar R3"); SetIndexLabel(1,"Previous Bar R2"); SetIndexLabel(2,"Previous Bar R1"); SetIndexLabel(3,"Previous Bar Pivot"); SetIndexLabel(4,"Previous Bar S1"); SetIndexLabel(5,"Previous Bar S2"); SetIndexLabel(6,"Previous Bar S3"); //---- SetIndexDrawBegin(0,1); //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit, i; //---- indicator calculation if (counted_bars==0) { x=Period(); if (x>240) return(-1); /* ObjectCreate("Pivot", OBJ_TEXT, 0, 0,0); ObjectSetText("Pivot", " Pivot Point",fontsize,"Arial",Red); ObjectCreate("Sup1", OBJ_TEXT, 0, 0, 0); ObjectSetText("Sup1", " S 1",fontsize,"Arial",Red); ObjectCreate("Res1", OBJ_TEXT, 0, 0, 0); ObjectSetText("Res1", " R 1",fontsize,"Arial",Red); ObjectCreate("Sup2", OBJ_TEXT, 0, 0, 0); ObjectSetText("Sup2", " S 2",fontsize,"Arial",Red); ObjectCreate("Res2", OBJ_TEXT, 0, 0, 0); ObjectSetText("Res2", " R 2",fontsize,"Arial",Red); ObjectCreate("Sup3", OBJ_TEXT, 0, 0, 0); ObjectSetText("Sup3", " S 3",fontsize,"Arial",Red); ObjectCreate("Res3", OBJ_TEXT, 0, 0, 0); ObjectSetText("Res3", " R 3",fontsize,"Arial",Red); */ } if(counted_bars<0) return(-1); //---- last counted bar will be recounted // if(counted_bars>0) counted_bars--; limit=(Bars-counted_bars)-1; for (i=limit; i>=0;i--) //for (i=1; i<=counted_bars;i++) { //if (High[i+1]>LastHigh) LastHigh=High[i+1]; //if (Low[i+1]